package com.bingxue.edu.management.education.model.entity;

import com.bingxue.edu.common.enums.*;
import com.bingxue.edu.framework.common.model.BusinessEntity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 班级课次
 *
 * @author zq
 * @since 2024/08/24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Table("edu_lesson_student")
public class LessonStudent extends BusinessEntity {

    @Schema(name = "报名id")
    private String enrollmentId;

    @Schema(name = "课次所属班级id")
    private String lessonClassId;

    @Schema(name = "学生所属班级id")
    private String studentClassId;

    @Schema(name = "课次id")
    private String lessonId;

    @Schema(name = "学生id")
    private String studentId;

    @Schema(name = "学生行课状态")
    private StudentClassEnum studentClassStatus;

    @Schema(name = "操作来源")
    private OperateSourceEnum operateSource;

    @Schema(name = "签到时间")
    private LocalDateTime signInTime;

    @Schema(name = "签到状态")
    private Boolean signInStatus;

    @Schema(name = "学生加入方式")
    private JoinTypeEnum studentJoinType;

    @Schema(name = "课时")
    private Double lessonHour;

    @Schema(name = "课消")
    private BigDecimal lessonPrice;

    @Schema(name = "订单项id")
    private String orderItemId;

    @Schema(name = "备注（内部）")
    private String remark;

    @Schema(name = "课次顺序")
    @Column(ignore = true)
    private Integer lessonIndex;
}
